#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}



void MainWindow::on_btn_set_info_clicked()
{
    SetUserInfo* myObject = new SetUserInfo(this);
    // myObject->show();

    //这个是设置对话框关闭的时候自动删除对话框对象，用于不需要返回值的对话框
    //这时候程序会崩溃，因为销毁了对象，之后还调用的了对象的方法就会出错
    //无论怎么关掉的对话框，之后要么重复delete要么就是访问未定义的方法

// #define autodelete_debug

#ifdef autodelete_debug
    myObject->setAttribute(Qt::WA_DeleteOnClose);
#endif

    //设置对话框固定大小
    Qt::WindowFlags flags=myObject->windowFlags();
    myObject->setWindowFlags(flags | Qt::MSWindowsFixedSizeDialogHint);

    myObject->Initwidget(ui->lineEdit_name->text(),ui->lineEdit_age->text().toInt());

    int ret = myObject->exec();

    if(ret == QDialog::Accepted)
    {
        ui->lineEdit_name->setText(myObject->getName());
        ui->lineEdit_age->setText(QString("%1").arg(myObject->getAge()));
    }

    qDebug() << "关闭对话框了";

#ifndef autodelete_debug
    delete myObject;
#endif
}

